package com.hskn.hss.module.tlemployee.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.hskn.hss.core.annotation.Excel;
import com.hskn.hss.module.gridbind.entity.GridBind;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * <p>
 *
 * </p>
 *
 * @author hskn
 * @since 2021-05-15
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class TlEmployee implements Serializable {

    @TableId(value = "id", type = IdType.ASSIGN_UUID)
    private String id;
    @TableField(exist = false)
    private String ids;
    /**
     * 姓名
     */
    @Excel(name = "姓名(必填)")
    private String name;

    /**
     * 工号
     */
    @Excel(name = "工号(必填)")
    private String emplnum;

    /**
     * 作业类型
     */
    @Excel(name = "作业类型(必填)")
    private String persontype;

    @TableField(exist = false)
    private String persontypename;

    /**
     * 工种类型
     */

    private String worktype;
    @Excel(name = "工种(必填)")
    @TableField(exist = false)
    private String worktypename;

    /**
     * 考勤方式
     */
    @Excel(name = "考勤方式(必填)",prompt = "请选择定位、打卡、APP中的一种")
    private String attendtype;

    /**
     * 所属机构
     */
    private String empldeptid;
    @Excel(name = "所属机构(必填)")
    @TableField(exist = false)
    private String empldeptname;

    /**
     * 联系电话
     */
    @Excel(name = "联系方式(必填)")
    private String phonenum;

    /**
     * 入职时间
     */
    private String entrytime;

    /**
     * 工资卡号
     */
    private String salarycardnum;

    /**
     * 归属银行
     */
    private String bank;

    /**
     * 职位
     */
    private String position;

    /**
     * 照片
     */
    private String personphoto;

    /**
     * 图标选择  0 默认图标 1使用人员头像
     */
    private String isusephoto;

    /**
     * 附件
     */
    private String fileurl;

    /**
     * 民族
     */
    private String nation;

    /**
     * 性别
     */
    @Excel(name = "性别")
    private String sex;

    /**
     * 籍贯
     */
    private String nativeplace;

    /**
     * 政治面貌
     */
    private String politicsstatus;

    /**
     * 教育程度
     */
    private String educationbackground;

    /**
     * 身份证号
     */
    private String idcardnum;

    /**
     * 通讯地址
     */
    private String address;

    /**
     * 身份证头像面照片
     */
    private String idcardpictureup;

    /**
     * 身份证国徽面照片
     */
    private String idcardpicturedown;

    /**
     * 紧急联系人
     */
    private String emergencycontact;

    /**
     * 紧急联系电话
     */
    private String emergencyphone;

    /**
     * 紧急联系人地址
     */
    private String emergencyaddress;

    /**
     * 身高 CM
     */
    private Integer personheight;

    /**
     * 体重KG
     */
    private Double personweight;

    /**
     * 鞋码
     */
    private Double shoesize;

    /**
     * 工服尺寸
     */
    private String clothessize;

    /**
     * 备注
     */
    private String remark;

    /**
     * 创建人
     */
    private String createby;

    /**
     * 创建时间
     */
    private Date createtime;

    /**
     * 修改人
     */
    private String updateby;

    /**
     * 修改时间
     */
    private Date updatetime;

    /**
     * 创建部门
     */
    private String deptid;
    @TableField(exist = false)
    private Long size;
    @TableField(exist = false)
    private Long total;
    @TableField(exist = false)
    private Long current;
    @TableField(exist = false)
    private Long page;
    @TableField(exist = false)
    private String deptName;

    private String status;  //员工状态 0 离职 1在职

    private String bindfaclids; //绑定设备id
    @TableField(exist = false)
    private int bindcount; //绑定数
    private String bindfaclname; //绑定设备名成集合

    private String addr; //定位信息

    private String quitreason; //离职原因

    private Date quittime;//离职日期

    private Double workyear; //工龄

    //    @TableField(exist = false)
//    private String iscreatecount;  //是否创建账户 0 不创建 1创建
//    @TableField(exist = false)
//    private String account;  // 用户账号
//    @TableField(exist = false)
//    private String password;  //账户密码
//    @TableField(exist = false)
//    private String role;  //角色id
    private String bindstatus; //绑定状态

    private String bindaccount; //已绑定用户id

    private String icon;  //地图图标

    private Integer age; //年龄

    @TableField(exist = false)
    private Integer data;

    @TableField(exist = false)
    private List binds; //绑定信息


    /**
     * 在岗状态：0离岗1在岗
     */
    private Integer onguardstatus;

    /**
     * 当日排班状态：0已排班1未排班
     */
    private Integer shiftStatus;

    @TableField(exist = false)
    private String equipcode;
    @TableField(exist = false)
    private String equipid;
    @TableField(exist = false)
    private String eqptype;
    @TableField(exist = false)
    private List channels;
    /**
     * 视频在线状态
     */
    @TableField(exist = false)
    private Integer videoonlinestatus;

    /**
     * 用户名称
     */
    @TableField(exist = false)
    private String userName;

    /**
     * 是否移动 0：移动 1：不移动
     */
    private String move;

    /**
     * 是否出勤
     */
    private Integer attendance;

    @TableField(exist = false)
    private List grids=new ArrayList(); //电子围栏
    @TableField(exist = false)
    private List<GridBind> gridBindList = new ArrayList(); //电子围栏id

    /**
     * 解綁状态
     */
    @TableField(exist = false)
    private Integer bindingStatus;
    /**
     * 网格id
     */
    @TableField(exist = false)
    private String gridId;
}
